มารู้จักกับ Amazon Redshift ในปลายปี 2022 กัน
#สารบัญ
Amazon Redshift คืออะไร
บริการคลังข้อมูลที่มีการจัดการเต็มรูปแบบซึ่งปรับขนาดจากหลายร้อยกิกะไบต์เป็นเพตะไบต์
คลังข้อมูลคืออะไร
บ่อยครั้งที่เราได้ยินเกี่ยวกับคลังข้อมูลอยู่เสมอ แต่เมื่อค้นหาคำจำกัดความในวิกิพีเดียดูก็ได้ความหมายว่ามันคือ...
"คลังข้อมูลคือคอลเลกชันของข้อมูลอนุกรมเวลาแบบรวมที่มุ่งเน้นวัตถุประสงค์บางอย่างในการเก็บข้อมูลซึ่งไม่ถูกลบหรืออัปเดต"
... เห็นได้ชัดว่า ...
นอกจากนี้ จุดประสงค์ของคลังข้อมูลคือเพื่อเปรียบเทียบข้อมูลที่สะสมในอดีตกับข้อมูลปัจจุบัน ข้อมูลจะไม่ถูกลบหรืออัปเดต และข้อมูลจะเพิ่มขึ้นเมื่อเวลาผ่านไป ซึ่งมีคำที่คล้ายกันคือ "data mart" แต่เป็นการรวบรวมข้อมูลที่แยกเฉพาะส่วนที่จำเป็นสำหรับแผนกเฉพาะ เป็นต้น นั้นก็คือ
เกี่ยวกับ Amazon Redshift
ตอนนี้เรารู้เกี่ยวกับคลังข้อมูลกันแล้ว อันดับต่อไปผมอยากจะขอแนะนำ Amazon Redshift จากที่เราเห็นในสไลด์ด้านล่าง Amazon Redshift เป็นคลังข้อมูล (DWH) ที่ดีในการรวมและประมวลผลการวิเคราะห์ข้อมูลจำนวนมากโดยใช้ SQL ในที่เก็บข้อมูลบริการของ AWS มีการใช้งานที่แตกต่างจาก NoSQL เช่น ElastiCache หรือ DynamoDB
Feature
- เปิดใช้เพียงไม่กี่คลิก
- จ่ายเฉพาะที่เราใช้ (มีอินสแตนซ์แบบเหมาจ่ายด้วย)
- SQL ที่เข้ากันได้กับ PostgreSQL (8.0.2) (แต่ไม่รองรับฟีเจอร์ ประเภทข้อมูล และฟังก์ชันบางอย่าง)
- รองรับโดย Client SQL และเครื่องมือ BI โดยใช้ไดรเวอร์ PostgreSQL JDBC/ODBC
ราคา
โดยราคาที่นำมาแสดงนั้นเป็นของ Singapore Region นะครับผม ซึ่งมีราคาดังนี้ แบบใช้การประมวลผลสูง (ประเภท Dense Compute) มีที่เก็บข้อมูลแบบ SSD เพื่อประสิทธิภาพสูง
node type | vCPUs | ECU | memory | storage | I/O | price |
---|---|---|---|---|---|---|
dc2.large | 2 | 7 | 15 GiB | 0.16TB SSD | 0.60 GB/s | 0.33 USD/hour |
dc2.8xlarge | 32 | 99 | 244 GiB | 2.56TB SSD | 7.50 GB/s | 6.40 USD/hour |
แบบใช้งานพื้นที่จัดเก็บสูง (ประเภท Dense Storage) มีที่เก็บข้อมูลบน HDD สำหรับข้อมูลจำนวนมาก
node type | vCPUs | ECU | memory | storage | I/O | price |
---|---|---|---|---|---|---|
ds2.xlarge | 4 | 14 | 31 GiB | 2TB HDD | 0.40 GB/s | 1.25 USD/hour |
ds2.8xlarge | 36 | 116 | 244 GiB | 16TB HDD | 3.30 GB/s | 10.00 USD/hour |
รุ่นปัจจุบัน ภูมิภาคโตเกียว เรียกเก็บเงิน ณ วันที่ 2019/07/08 โปรดตรวจสอบราคาล่าสุดจากเว็บไซต์ทางการ
Pricing - Amazon Redshift
ส่วนประกอบ
ต่อไป ผมจะแนะนำองค์ประกอบต่างๆ ที่ประกอบกันเป็น Amazon Redshift อ้างอิง: สถาปัตยกรรมระบบคลังข้อมูล
Leader node
- leader node จะไม่ถูกเรียกเก็บเงินและมีการสื่อสารโดยตรงกับลูกค้า
- การคอมไพล์ SQL และแจกจ่ายไปยังโหนดคอมพิวท์เพื่อรวบรวมผลลัพธ์ที่ดำเนินการ
- SQL บางตัวถูกเรียกใช้งานบนโหนดนี้เท่านั้น
computing node
- การรันโค้ดที่คอมไพล์แล้วส่งคืนผลลัพธ์ระดับกลางไปยัง leader node
- การเรียกใช้แบบสอบถามแบบขนาน
- เพิ่มโหนดคอมพิวเตอร์เพื่อปรับขนาด
node slice
- หน่วยประมวลผลเชิงตรรกะที่แบ่งหน่วยความจำและดิสก์ในโหนด
- ประมวลผลส่วนหนึ่งของปริมาณงานต่อชิ้น
- 2 หรือ 16 ชิ้นขึ้นอยู่กับประเภทของอินสแตนซ์
กรณีการใช้งาน
สำหรับกรณีการใช้งานของ Amazon Redshift นั้นเหมาะสำหรับการประมวลผลดังต่อไปนี้
- ชุดข้อมูลขนาดใหญ่
- SQL ที่ซับซ้อนแต่ทำงานพร้อมกันต่ำ
- อัปเดตข้อมูลเป็นกลุ่ม ตัวอย่างเฉพาะ: คลังข้อมูล (DWH) เมื่อผู้ใช้สร้างแบบสอบถาม (BI ฯลฯ) ได้อย่างอิสระ
ในทางกลับกัน มันไม่เหมาะสำหรับการประมวลผลต่อไปนี้
- จำนวนการดำเนินการแบบขนานของ SQL สูง
- ต้องการเวลาแฝงต่ำ
- การเข้าถึงการอัปเดตแบบสุ่มและแบบคู่ขนาน
- การรวมกับข้อมูลขนาดใหญ่
การดำเนินการ
ต่อไปจะเป็นประเด็นต่างๆเมื่อมีการใช้งาน Amazon Redshift จริง
การโหลดข้อมูล
Amazon Redshift เองสามารถโหลดข้อมูลจำนวนมากในพื้นที่จัดเก็บขนาดใหญ่ได้ แต่ในการใช้งานจริงคำสั่ง COPY อาจใช้เพื่ออ่านข้อมูลจำนวนมากที่อัปโหลดไปยัง S3 เมื่ออ่านข้อมูลจาก S3 ไปยัง Amazon Redshift แต่ละส่วนจะถูกอ่านแบบขนาน ดังนั้นจึงสามารถปรับปรุงปริมาณงานได้โดยการแยกไฟล์ขนาดใหญ่และกระจายสำหรับแต่ละส่วน (จำนวนไฟล์ที่เป็นผลคูณของสไลซ์ที่คลัสเตอร์นั้นเหมาะสมที่สุด) นอกจากนี้ ยังสามารถเลือก UTF-8 และ UTF-16 สำหรับรหัสอักขระเมื่ออ่านจาก S3 และสามารถระบุตัวคั่นได้
นอกจากนี้ เป็นไปได้ที่จะได้รับประสิทธิภาพสูงสุดโดยการดำเนินการคำสั่ง ANALYZE บ่อยๆ เพื่อสร้างข้อมูลทางสถิติ และโดยการลบพื้นที่ดิสก์ที่ไม่จำเป็นโดยใช้คำสั่ง VACUUM
การสำรองข้อมูล
การสำรองข้อมูลของ Amazon Redshift รวมถึงสแน็ปช็อตอัตโนมัติและสแน็ปช็อตด้วยตนเอง และยังสามารถกู้คืนตารางได้อีกด้วย สำหรับสแน็ปช็อตอัตโนมัติ เพียงระบุระยะเวลาการเก็บรักษา และสแน็ปช็อตจะถูกสร้างขึ้นทุกๆ 8 ชั่วโมงโดยประมาณ หรือเมื่อข้อมูล 5GB บนโหนดหนึ่งเปลี่ยนแปลง ขึ้นอยู่กับว่ากรณีใดจะเกิดขึ้นก่อน นอกจากนี้ เมื่อวันก่อน ฟังก์ชันที่ให้คุณระบุเวลาของการได้มาของสแน็ปช็อตอัตโนมัติอย่าง cron ก็เปิดตัวเช่นกัน
เปิดตัว "ตัวกำหนดตารางเวลาสแน็ปช็อต" ที่สามารถรับสแน็ปช็อตอัตโนมัติ เช่น Amazon Redshift cron
สเปกตรัมของ Amazon Redshift
นอกจากนี้ ในกรณีต่อไปนี้ คุณยังสามารถใช้ "Amazon Redshift Spectrum" ซึ่งช่วยให้คุณสืบค้นไฟล์บน S3 จาก Redshift ได้โดยตรง
- ฉันต้องการสืบค้นข้อมูลขนาดใหญ่ที่จัดเก็บไว้ใน S3
- การสืบค้นข้อมูลที่ดำเนินการไม่บ่อยนัก
- ฉันต้องการแชร์ข้อมูลระหว่างหลายคลัสเตอร์ ข้อมูลอ้างอิง: [ข่าวด่วน] Amazon Redshift: ได้มีการประกาศฟังก์ชั่นใหม่ "Redshift Spectrum" ที่ช่วยให้คุณสามารถค้นหาข้อมูลได้โดยตรงใน S3! #awssummit
อื่นๆ
นอกจากนี้เนื่องจากเป็นคุณลักษณะใหม่ล่าสุดทำให้สามารถดำเนินการสืบค้น SQL จากคอนโซลการจัดการ AWS ได้อย่างง่ายดายและ มีความเป็นไปได้ที่จะจัดการกับการประมวลผลที่มีโหลดสูงชั่วคราวโดยการลดเวลาที่คลัสเตอร์ไม่สามารถใช้งานได้เนื่องจากการปรับขนาดการประมวลผลตอนนี้ เราได้เปิดตัวบางสิ่งที่ Elastic Resize ปรับปรุงการทำงานพร้อมกันของคิวรีชั่วคราวด้วยการรันคิวรีแบบอ่านอย่างเดียวบนคลัสเตอร์ที่ปรับขนาดออก
สุดท้าย
เพียงเท่านี้สำหรับรายการวันที่ 13 "Amazon Redshift edition" ของ "Re-introduction Blog Relay 2019 โดย AWS Service" ในอดีต เมื่อผมได้ยินเกี่ยวกับ Data Warehouse ภาพที่ผมคิดไว้คือมันต้องแพงมากแน่ๆ แต่ผมคิดว่ามันใช้งานง่ายกว่าที่คิดเพราะเป็นบริการคลาวด์ จ่ายเท่าที่คุณใช้ นอกจากนี้ ในกรณีของ Amazon Redshift มีพื้นที่เก็บข้อมูลไม่จำกัดสำหรับการวิเคราะห์เมื่อเชื่อมโยงกับ S3 เป็นไปได้จริง ๆ ที่จะค้นพบเส้นทางธุรกิจใหม่ ๆ โดยการวิเคราะห์ข้อมูลที่ไม่มีที่สิ้นสุดเหล่านี้ ในวันพรุ่งนี้ 19 กรกฎาคม "AWS Glue" ฉบับแรก ของ Kazuyoshi Sakamaki มีกำหนดการเปิดตัว
reference
- AWS Black Belt Online Seminar Amazon Redshift
- AWS Black Belt Online Seminar 2017 Amazon Redshift Update Recently Added New Features and Redshift Spectrum
- 20190122 AWS Black Belt Online Seminar Amazon Redshift Update
- Amazon Redshift Serverless คืออะไร? รูปแบบใหม่ของ Amazon Redshift
- Amazon Redshift Serverless คืออะไร? รูปแบบใหม่
- Amazon Redshift คืออะไร และ เริ่มใช้งานอย่างไร